Image editing system and method, image processing system and method, and recording media therefor

ABSTRACT

Three-dimensional image processing has two processes. In a first process, a three-dimensional space including only a horizon appears on a display screen. By drawing a stroke line in the space, a wall having the stroke line as the base line is set as a canvas. A picture drawn by a user is mapped onto the canvas, resulting in a three-dimensional picture. By repeatedly setting the canvases and pictures, a desired scene can be constructed. A desired three-dimensional scene can further be obtained by rotating the canvas or moving the viewing point. In a second process, the base line of the canvas is constantly displaced between a first curve, a second curve, and an interpolation curve. The three-dimensional image pasted on the canvas is moved in accordance with the movement of the canvas. Thus, it appears to the user that the three-dimensional image is animating.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to an image editing system andmethod for creating and editing three-dimensional images on a computersystem, and more particularly, to an image editing system and method forcreating and editing three-dimensional images on a computer system fromtwo-dimensional input images. More specifically, the invention pertainsto an image editing system and method for creating and editingthree-dimensional images on a computer system from hand-drawn imagesinput through a device, such as a mouse, and more particularly to animage editing system and method for creating and editingthree-dimensional images from hand-drawn images drawn on a virtualcanvas. The invention also relates to an image processing system andmethod for processing three-dimensional images on a computer system.More particularly, the invention pertains to an image processing systemand method for creating and editing three-dimensional images on acomputer system from hand-drawn images input through a coordinatedesignation device, such as a mouse, or from two-dimensional images readfrom a local disk. More specifically, the invention relates to an imageprocessing system and method for creating and editing three-dimensionalimages from hand-drawn images drawn on a virtual canvas ortwo-dimensional images read from a local disk, and more particularly toan image processing system and method for providing motion tothree-dimensional images created and edited on a three-dimensionalcanvas.

[0003] 2. Description of the Related Art

[0004] Along with recent progress in semiconductor technologies andinformation technologies, inexpensive and high-powered computer systems,which are referred to as “personal computers (PCs)” or “work stations(WSs)”, are coming into wide use. In these computer systems, variousapplications can be run in an execution environment provided by anoperating system (OS).

[0005] There are many types of applications used on a computer system,such as word processing, spreadsheets, databases, communications, andgraphics. For example, on a computer system provided with a high-powercomputation or rendering function, realistic-looking graphics, such astwo-dimensional or three-dimensional graphics, can easily be created,rendered, and modified.

[0006] Basically, images displayed on a display screen of a computer aretwo-dimensional images. However, by using a computation function of thecomputer, the two-dimensional images can be first converted into athree-dimensional world coordinate system and further into aviewing-point coordinate system. As a result, three-dimensional imagescan be automatically created. Additionally, by rotating or translating arendered object in the three dimensional space, the object can bedisplayed and observed from a different point of view.

[0007] Most pictures in the real world, such as watercolor paintings oroil paintings, are created by predetermined strokes drawn with a brushon a canvas. In contrast, on a computer system, strokes are drawn on adisplay screen with a mouse cursor according to a “brush” function.

[0008] Simple, rough images similar to hand-drawn images can be inputinto a computer with a mouse. In this case, such an image is an imagedeveloped in a two-dimensional plane, and is processed as, for example,digital data, which is a set of dots or lines, by the computer system.However, such manually input digital data cannot be modified into a highlevel image on a computer system. In other words, a technique forprocessing two-dimensional hand-drawn images as three-dimensional imagesis not known.

SUMMARY OF THE INVENTION

[0009] Accordingly, it is an object of the present invention to providean image editing system and method for creating and editingthree-dimensional images on a computer system from two-dimensional inputimages.

[0010] It is another object of the present invention to provide an imageediting system and method for creating and editing three-dimensionalimages on a computer system from hand-drawn images input through adevice, such as a mouse.

[0011] It is still another object of the present invention to provide animage editing system and method for creating and editingthree-dimensional images from hand-drawn images drawn on a virtualcanvas.

[0012] It is a further object of the present invention to provide animage processing system and method for creating and editingthree-dimensional images on a computer system from hand-drawn imagesinput through a device, such as a mouse, or two-dimensional images readfrom a local disk.

[0013] It is a yet further object of the present invention to provide animage processing system and method for creating and editingthree-dimensional images from hand-drawn images drawn on a virtualcanvas or two-dimensional images read from a local disk.

[0014] It is a further object of the present invention to provide animage processing system and method for providing motion tothree-dimensional images created and edited on a three-dimensionalcanvas.

[0015] In order to achieve the above objects, according to one aspect ofthe present invention, there is provided an image editing system forcreating and editing a three-dimensional image. The image editing systemincludes a canvas setting unit for setting a canvas in athree-dimensional space. An image input unit inputs an image into theset canvas and pastes the image onto the canvas. An image modifying unitmodifies the input image according to an operation performed on thecanvas by a user.

[0016] According to another aspect of the present invention, there isprovided an image editing method for creating and editing athree-dimensional image. The image editing method includes: a canvassetting step of setting a canvas in a three-dimensional space; an imageinput step of inputting an image into the set canvas and pasting theimage onto the canvas; and an image modifying step of modifying theinput image in accordance with an operation performed on the canvas by auser.

[0017] In the aforementioned image editing system or method, the canvassetting unit or step may set as the canvas a wall whose base line isformed by a stroke line which is drawn by dragging a mouse by the userin the three-dimensional space including only a horizon.

[0018] The image input unit or step may input as the image a stroke linedrawn by dragging a mouse on the set canvas by the user, and may pastethe stroke line onto the canvas.

[0019] The image input unit or step may read an image file stored in apredetermined storage device, and may paste the image onto the setcanvas.

[0020] The image modifying unit or step may rotate or translate theimage pasted on the canvas in accordance with a rotation operation or atranslation operation performed on the canvas.

[0021] The canvas setting unit or step may set a plurality of canvasesin a single three-dimensional space, and the image input unit or stepmay input an image into each of the set canvases.

[0022] The image input unit or step may input the image not only intothe canvas, but also into a ground.

[0023] When a new canvas is drawn, the canvas setting unit/step may notdisplay a canvas which has already been drawn except a base line of thecanvas.

[0024] According to still another aspect of the present invention, thereis provided a storage medium for physically storing computer-readablesoftware which allows a computer system to execute image editingprocessing for creating and editing a three-dimensional image. Thecomputer-readable software includes: a canvas setting step of setting acanvas in a three-dimensional space; an image input step of inputting animage into the set canvas and pasting the image onto the canvas; and animage modifying step of modifying the input image in accordance with anoperation performed on the canvas by a user.

[0025] With this arrangement, three-dimensional images can be createdand edited on a computer system from two-dimensional input images.Three-dimensional images can also be created and edited on a computersystem from hand-drawn images input through a device, such as a mouse.Additionally, three-dimensional images can be created and edited on acomputer system from hand-drawn images drawn on a virtual canvas.

[0026] According to the above-described aspects of the presentinvention, a three-dimensional scene can be constructed as if the userdraws a sketch in a two-dimensional plane. Additionally, an image isprojected on a three-dimensional canvas, thereby obviating the need forthe operator to operate a user input device in a three-dimensionalspace. It is also possible to simultaneously perform three-dimensionalmodeling and scene construction. The user is also able to browse theconstructed scenes in different viewing directions.

[0027] According to a further aspect of the present invention, there isprovided an image processing system for processing a three-dimensionalimage. The image processing system includes an image input unit forinputting a two-dimensional image. A first-curve setting unit sets afirst curve, which serves as a base line of a canvas, in athree-dimensional space. A second-curve setting unit sets a secondcurve, which is different from the first curve, in the three-dimensionalspace. An interpolation-curve generating unit generates at least oneinterpolation curve for interpolating the first curve and the secondcurve. An image generating unit creates the three-dimensional image bypasting the image input by the image input unit onto the canvas whosebase line is one of the first curve, the second curve, and theinterpolation curve.

[0028] The term “system” means a logical group of a plurality of devices(or a plurality of functional modules implementing specific functions),and it is not essential that each device or functional module be in asingle casing.

[0029] According to a yet further aspect of the present invention, thereis provided an image processing method for processing athree-dimensional image. The image processing method includes: an imageinput step of inputting a two-dimensional image; a first-curve settingstep of setting a first curve, which serves as a base line of a canvas,in a three-dimensional space; a second-curve setting step of setting asecond curve, which is different from the first curve, in thethree-dimensional space; an interpolation-curve generating step ofgenerating at least one interpolation curve for interpolating the firstcurve and the second curve; and an image generating step of creating thethree-dimensional image by pasting the image input in the image inputstep onto the canvas whose base line is one of the first curve, thesecond curve, and the interpolation curve.

[0030] According to the aforementioned image processing system ormethod, a plurality of interpolation curves for interpolating the firstcurve and the second curve, which each forms the base line of thecanvas, are automatically generated. The base line of the canvas is thenconstantly moved from the first curve to the second curve via theinterpolation curves and from the second curve to the first curve viathe interpolation curves.

[0031] As a result, a three-dimensional image pasted on the canvas isconstantly moving or transforming according to the movement of thecanvas. Thus, it appears to the user that the three-dimensional image isanimating.

[0032] In the above-described image processing system or method, atleast one of the first-curve setting unit or step and the second-curvesetting unit or step may set as the first or second curve a stroke linedrawn by dragging a mouse by a user in the three-dimensional spaceincluding only a horizon.

[0033] The image generating unit or step may constantly move the baseline of the canvas to which the input image is to be pasted between thefirst curve, the second curve, and the interpolation curve.

[0034] The image input unit or step may input as the image a stroke linedrawn by dragging a mouse onto the canvas by a user, or may input thetwo-dimensional image from an image file read from a predeterminedstorage device.

[0035] According to a further aspect of the present invention, there isprovided an image processing system for processing a three-dimensionalimage. The image processing system includes an image input unit forinputting a two-dimensional image. A first-curve setting unit sets afirst curve, which serves as a base line of a canvas, in athree-dimensional space. An interpolation-curve generating unitgenerates at least one interpolation curve based on the first curve. Animage generating unit creates the three-dimensional image by pasting theimage input by the image input unit onto the canvas whose base line isone of the first curve and the interpolation curve.

[0036] According to a further aspect of the present invention, there isprovided an image processing method for processing a three-dimensionalimage. The image processing method includes: an image input step ofinputting a two-dimensional image; a first-curve setting step of settinga first curve, which serves as a base line of a canvas, in athree-dimensional space; an interpolation-curve generating step ofgenerating at least one interpolation curve based on the first curve;and an image generating step of creating the three-dimensional image bypasting the image input in the image input step onto the canvas whosebase line is one of the first curve and the interpolation curve.

[0037] In the aforementioned image processing system or method, theinterpolation curve may automatically be generated based on the baseline of the canvas set in the image editing step according tocomputation processing of a computer rather than being set by the user.

[0038] For example, the interpolation-curve generating unit or step maygenerate the interpolation curve by setting a plurality of controlpoints on the first curve and by constantly displacing the controlpoints by using random numbers.

[0039] As a result, the base line of the canvas is randomly transformedbased on the first curve. A three-dimensional image pasted on the canvasis moved according to the movement of the canvas. Thus, it appears tothe user that the three-dimensional image is vibrating.

[0040] By moving the three-dimensional image, a three-dimensional sketchbecomes realistic-looking. According to this technique, opening andshutting a door or fluttering of a flag can be expressed.

[0041] According to the above-described image processing system ormethod, an excessive burden is not imposed on the user, i.e., thecreator of the three-dimensional image. That is, the user simply createsone picture, and then, a plurality of canvases for pasting the picturecan automatically be created by the system. It is thus possible toeasily construct an animated three-dimensional world.

[0042] According to a further aspect of the present invention, there isprovided a storage medium for physically storing computer-readablesoftware which allows a computer system to execute three-dimensionalimage processing. The computer-readable software includes: an imageinput step of inputting a two-dimensional image; a first-curve settingstep of setting a first curve, which serves as a base line of a canvas,in a three-dimensional space; a second-curve setting step of setting asecond curve, which is different from the first curve, in thethree-dimensional space; an interpolation-curve generating step ofgenerating at least one interpolation curve for interpolating the firstcurve and the second curve; and an image generating step of creating thethree-dimensional image by pasting the image input in the image inputstep onto the canvas whose base line is one of the first curve, thesecond curve, and the interpolation curve.

[0043] According to a further aspect of the present invention, there isprovided a storage medium for physically storing computer-readablesoftware which allows a computer system to execute three-dimensionalimage processing. The computer- readable software includes: an imageinput step of inputting a two-dimensional image; a first-curve settingstep of setting a first curve, which serves as a base line of a canvas,in a three-dimensional space; an interpolation-curve generating step ofgenerating at least one interpolation curve based on the first curve;and an image generating step of creating the three-dimensional image bypasting the image input in the image input step onto the canvas whosebase line is one of the first curve and the interpolation curve as thebase line.

[0044] The above-described recording media of the present invention aremedia for physically providing computer-readable software to ageneral-purpose computer system which is able to execute various programcodes. Such media are portable, detachable recording media, such ascompact disks (CDs), floppy disks (FDs), and magneto-optical (MO) disks.It is also technically possible to provide computer-readable software toa specific computer system via a transmission line, such as a network(wireless or cable).

[0045] In such storage media, structural or functional cooperativerelationships between the computer-readable software and the storagemedia for implementing the functions of the predeterminedcomputer-readable software on a computer system are defined. In otherwords, by installing the predetermined computer-readable software into acomputer system via the corresponding recording medium of the presentinvention, the above-described cooperative functions are exerted in thecomputer system. As a result, advantages similar to those exhibited bythe image editing system and method or the image processing system andmethod can be obtained.

[0046] Further objects, features and advantages of the present inventionwill become apparent from the following description of the preferredembodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0047]FIG. 1 is a block diagram illustrating the hardware configurationof an image editing/processing system according to the presentinvention;

[0048]FIG. 2 illustrates an example of an initial imageediting/processing screen provided by the image editing/processingsystem shown in FIG. 1;

[0049]FIG. 3 illustrates an example of a menu bar disposed at theuppermost portion of the image editing/processing screen;

[0050]FIG. 4 illustrates an example of a pull-down menu displayed when amenu “file” is selected;

[0051]FIG. 5 illustrates an example of a pull-down menu displayed when amenu “scene option” is selected;

[0052]FIG. 6 illustrates menu dialogs displayed on the image editingscreen;

[0053]FIGS. 7A and 7B illustrate a technique for operating the menudialogs;

[0054]FIG. 8 illustrates a technique for operating the dialog “menu”;

[0055]FIG. 9 illustrates a technique for operating the dialog “canvas”;

[0056]FIG. 10 illustrates a technique for operating the dialog “tool”;

[0057]FIG. 11 illustrates a technique for operating the dialog “colorpalette”;

[0058]FIG. 12 illustrates a technique for operating the dialog “option”;

[0059]FIG. 13 illustrates a technique for operating the dialog “undo”;

[0060]FIG. 14 illustrates a technique for operating the dialog “walk”;

[0061]FIG. 15 illustrates a technique for operating the dialog “target”;

[0062]FIG. 16 illustrates a technique for operating the dialog “line ofsight”;

[0063]FIG. 17 illustrates a technique for operating the dialog “topview”;

[0064]FIGS. 18 through 29 illustrate a three-dimensional image beingdrawn in the image editing/processing system shown in FIG. 1;

[0065]FIG. 30 is a flow chart illustrating the three-dimensional editingprocess performed by the image editing/processing system shown in FIG.1;

[0066]FIG. 31 illustrates base lines, such as first and second curves,of two canvases in a three-dimensional space;

[0067]FIG. 32 illustrates interpolation curves for interpolating thefirst and second curves;

[0068]FIG. 33 illustrates an example of a technique for automaticallygenerating another base line based on the base line of the canvas whichis set during the image editing operation in the image processingsystem;

[0069]FIG. 34 is a flow chart illustrating the image process performedby the image processing system; and

[0070]FIG. 35 is a flow chart illustrating details of the process forautomatically generating a second curve in step S35 of FIG. 34.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0071] The present invention is described in detail below with referenceto the accompanying drawings through illustration of preferredembodiments.

[0072]FIG. 1 schematically illustrates the hardware configuration of animage editing system according to a first embodiment of the presentinvention. An image editing system 10 is implemented by running an imageediting application on a general-purpose computer system, such as a WSor a PC. An example of the computer system is a PC/AT, i.e., anIBM-compatible machine, or a more recent machine. The individualelements of the image editing system 10 are discussed below.

[0073] A central processing unit (CPU) 11, which serves as a maincontroller of the image editing system 10, executes various applicationsunder the control of an OS. More preferably, the OS provides a bit-maprendering function and a graphical user interface (GUI) environment. Asthe OS, UNIX or Windows 98/NT by Microsoft Corporation may be used.

[0074] As shown in FIG. 1, the CPU 11 is connected to other devices(described below) via a bus 17. Each device on the bus 17 is providedwith a memory address or an input/output (I/O) address unique to thecorresponding device, and the CPU 11 is able to access each device byspecifying the corresponding address. The bus 17 is a common signaltransmission line including an address bus, a data bus, and a controlbus, and may be a peripheral component interconnect (PCI) bus.

[0075] A memory 12 is a storage device for storing program code executedby the CPU 11 and for temporarily storing work data while it isexecuted. It is to be understood that the memory 12 shown in FIG. 1includes both a non-volatile memory and a volatile memory.

[0076] A display controller 13 is a special controller for processingrendering commands issued by the CPU 11. For example, the displaycontroller 13 supports a bit-map rendering function corresponding to theSuper Video Graphic Array (SVGA) or extended Graphic Array (XGA)standards. The rendering data processed by the display controller 13 istemporarily written into, for example, a frame buffer (not shown), andis output to a display device 21. The display device 21 may be a cathoderay tube (CRT) display or a liquid crystal display.

[0077] An input device interface 14 is used for connecting a user inputdevice, such as a keyboard 22 or a mouse 23 to the image editing system10. The input device interface 14 responds to a coordinate specifyinginstruction input through the keyboard 22 or the mouse 23, and generatesan interrupt in the CPU 11.

[0078] A network interface 15 is used for connecting the image editingsystem 10 to a network (not shown), such as a local area network (LAN),according to a predetermined communication protocol, such as Ethernet.Generally, the network interface 15 is provided in the form of a LANadapter card, and is inserted into a PCI bus slot on a motherboard (notshown).

[0079] A plurality of hosts (computers) are transparently connected onthe LAN so that a decentralized computing environment is constructed.One of the hosts serves as a router, thereby connecting this network toanother LAN or an external network, such as the Internet. On theInternet, software programs or data content can be distributed. Forexample, an image editing application or three-dimensional renderingdata created and edited on the image editing application according tothe first embodiment may be distributed via a network.

[0080] The image editing system 10 may be connected to a network via amodem or a telephone line (neither of them is shown) rather than thenetwork interface 15.

[0081] An external device interface 16 is used for connecting anexternal device, such as a hard disk drive (HDD) 24 or a media drive 25,to the image editing system 10. The external device interface 16complies with interface standards, such as integrated drive electronics(IDE) or small computer system interface (SCSI).

[0082] The HDD 24 is a known external storage device in which a magneticdisk is mounted, and has a greater storage capacity and a higher datatransfer rate than other types of storage devices. Placing a softwareprogram on the HDD 24 so that it can be executable is referred to as“installing” the program into the system. Normally, the HDD 24 storesprogram codes of the operating system executed by the CPU 11,application programs, and device drivers in a non-volatile state. Forexample, the image editing application of this embodiment is installedon the HDD 24. Three-dimensional rendering data created in the imageediting application can also be stored on the HDD 24 in a predeterminedfile format.

[0083] The media drive 25 is used for loading a portable medium, such asa CD, an MO disk, and a digital versatile disk (DVD), therein, and foraccessing the data recording surface. The portable medium is primarilyused for backup of software programs and data files in a computerreadable format, or for transferring such programs and files among aplurality of systems (this includes sales and distribution of theprograms and files). For example, the image editing application and thethree-dimensional rendering data created and edited in the image editingapplication according to the first embodiment can be distributed byusing such a portable medium.

[0084] The image editing operation performed by the image editing system10 is as follows. FIG. 2 illustrates an initial image editing screenprovided by the image editing system 10.

[0085] The image editing screen is displayed by using the GUI window ofthe display device 21. The initial window is formed of, as shown in FIG.2, a three-dimensional space indicating only a horizon. A user is ableto perform not only regular GUI operations, such as a mouse click or adrag-and-drop operation, by using a coordinate designation device, suchas the mouse 23, but also an image editing operation, such as drawinglines by strokes in the three-dimensional space.

[0086] Menu dialogs shown in FIG. 6 may appear on the image editingscreen. In the example shown in FIG. 6, twelve dialogs, such as “menu”,“canvas”, “tool”, “brush size”, “color palette”, “option”, “undo”,“walk”, “target”, “line of sight”, “top view”, and “help”, are provided.Each menu is formed as a character-based icon, and can be selected by amouse click according to a regular GUI operation.

[0087] When a menu dialog is selected with a click, one of the twoevents is generated: a character's head extends upward (or appears frombelow) and a character's expression changes.

[0088] In the case of a menu dialog having more detailed menus(sub-menus), a sub-menu appears by clicking the menu dialog, and acertain item can be selected from the sub-menu. However, when a menuincluding input/output operations of files is selected, a balloon popsup rather than a character's head extending. When a fully extendedcharacter's head is clicked, it returns to the original position (seeFIG. 7A).

[0089] If a menu without a sub-menu is clicked, it no longer extends,thereby failing to present visual feedback. In this case, thecharacter's expression of the menu dialog is changed, thereby informingthe user that the menu has been selected, as shown in FIG. 7B.

[0090] The dialog “menu” shown in FIG. 6 is used for selecting theinput/output operation of a file, and is similar to the “file” on a menubar. When the dialog “menu” is clicked, a sub-menu appears as a balloon.FIG. 8 illustrates the operation of the dialog “menu”. In the balloon, asub-menu including “new”, “open”, “overlap”, “save”, “save as”, and soon, is provided.

[0091] The dialog “canvas” shown in FIG. 6 is used for selectingcanvas-related operations. In this embodiment, three operations, such as“create”, “copy”, and “erase”, are provided (see FIG. 9).

[0092] The operation “create” is a function for creating a new canvas.The operation “copy” is a function for copying the selected canvas. Theoperation “erase” is a function for erasing the canvas.

[0093] The dialog “tool” is used for selecting the pen or the eraser,and is also used for selecting the type of pen. In this embodiment, twotypes of pen, such as “pen” and “brush” are provided, as shown in FIG.10.

[0094] The pen generates binary lines having a thickness of 1 which arenot subjected to anti-aliasing processing. The dialog “brush size” isused for specifying or changing the thickness of the pen point or theeraser selected in the dialog “tool”. In this embodiment, there arethree types of thickness, such as “thick”, “medium”, and “thin”. Withthe brush, binary patterns which are not subjected to anti-aliasingprocessing can be drawn according to a drag operation with apredetermined interval. In addition to the pen and the brush, a “spray”may be provided.

[0095] The dialog “color palette” is used for designating the colorationof the pen point. When the dialog “color palette” is clicked, as shownin FIG. 11, a 256-color palette dialog appears. In the example shown inFIG. 11, frequently used colors are arranged on a 3×8 matrix. Byclicking a predetermined color on the palette, the color of the penpoint is changed.

[0096] The dialog “option” is used for selecting one of the optionalfunctions. In this embodiment, three options, such as “texture”,“billboard”, and “sound”, are provided. By clicking on the head of thedialog, the dialog extends upward, and a sub-menu appears, as shown inFIG. 12.

[0097] The option “texture” is a function for reading texture andmapping it on a currently opened canvas. The texture is usually providedin an image file format, such as png or jpeg.

[0098] The option “billboard” is a function for converting a currentlyopened canvas into a billboard type (default canvas is not a billboardtype). According to the billboard type, the canvas can be rotated aroundthe Y axis, thereby directing the canvas toward the user's viewpoint.

[0099] The option “sound” is a function for arranging sound (BGM) in thethree-dimensional space. With this function, one sound can be pasted toeach canvas. Each sound is managed by a sound identification (ID)number.

[0100] The dialog “undo” is used for canceling a rendering operationperformed on the canvas by the user. For example, the renderingoperations are canceled according to the number of clicks performed onthe dialog with the mouse 23 (see FIG. 13).

[0101] The dialog “walk” is used for vertically and horizontallyshifting the viewing point in the three-dimensional space in which thecanvas is disposed. When the head of the dialog is clicked, it extendsupward to show a sub-menu formed of buttons indicating the forward,backward, left, and right directions of the viewing point (see FIG. 14).

[0102] The dialog “target” is used for calling the “target” functionwhen, for example, a plurality of canvases are disposed on the imageediting screen. The “target” function is a function for shifting thescreen to the front face of the clicked canvas. In this case, themovement of the “target” may become more complicated by considering thenormal of the target canvas or adding the “slow-in slow-out” motion.

[0103] When the head of the dialog “target” is clicked, it extendsupward to show a sub-menu consisting of the individual buttons fordesignating the target (see FIG. 15). Three buttons, such as “target”,“before or after”, and “home”, are included in the sub-menu.

[0104] By designating the canvas with the mouse 23 and clicking on thebutton “target”, the designated canvas appears. When the button “beforeor after” is clicked, the canvas which is set before or after the canvasto be edited appears. When the button “home” is clicked, thepredetermined home position appears.

[0105] The dialog “line of sight” is used for calling a function forvertically moving the viewing point on the image editing screen. Whenthe head of the dialog is clicked, it extends upward to show a sub-menuconsisting of buttons for specifying the vertical movement of theviewing point and a button for resetting the line of sight (see FIG.16).

[0106] The dialog “top view” is used for calling a function for rotatingthe viewing point by 90 degrees to view the ground from above. When thehead of the dialog is clicked, it slightly contracts downward so thatthe character appears to look down to the ground (see FIG. 17).

[0107] The dialog “help” is used for calling a help function. When theimage editing system 10 (FIG. 1) is connected to an external network,the help function may operate in association with online help.

[0108]FIG. 3 illustrates an example of the menu bar disposed, forexample, at the uppermost portion of the image editing screen. The menubar includes, as shown in FIG. 3, a plurality of menu items, such as“file”, “edit”, “view”, “scene option”, and “end”.

[0109]FIG. 4 illustrates an example of a pull-down menu displayed whenthe menu item “file” is selected. The pulldown menu includes, as shownin FIG. 4, a plurality of submenu items, such as “new”, “open”, “mergeload”, “save”, “save as”, “write”, “print”, “save scene image”, and“end”.

[0110] The sub-menu item “new” is used for suspending currently editeddata and starting to create a new image. If the current data is unsaved,the user is asked whether the current data is to be saved. The currentdata can be saved only with the current file name.

[0111] The sub-menu item “open” is used for opening the stored data, andis implemented by a standard file dialog in the user interface of, forexample, Windows.

[0112] The sub-menu item “merge load” is used for providing additionaldata to the current data, and is implemented by a standard file dialogin the user interface of, for example, Windows.

[0113] The sub-menu item “save” is used for saving the currently editedimage data with the current file name. The sub-menu item “save as” isused for saving the data with another file name. The items “save” and“save as” are implemented by a standard file dialog in the userinterface of, for example, Windows.

[0114] The sub-menu item “write” is used for starting to write thecreated image data in the Virtual Reality Modeling Language (VRML) 2.0format, and is implemented by a standard file dialog in the userinterface of, for example, Windows.

[0115] The sub-menu item “print” is used for printing out athree-dimensional scene on the screen. The threedimensional scene ispreferably printed out in WYSIWYG without the pull-down menus. Thesub-menu item “print” is implemented by a standard file dialog in theuser interface of, for example, Windows.

[0116] The sub-menu item “save scene image” is used for saving a sceneimage in an image file, and it is preferably saved in WYSIWYG withoutthe pull-down menus. The item “save scene image” is implemented by astandard file dialog in the user interface of, for example, Windows.

[0117] The sub-menu item “end” is used for ending the image editingapplication. If the currently edited image data is unsaved, the user isasked whether the data is to be saved. The current data can be savedonly with the current file name.

[0118]FIG. 5 illustrates an example of the pull-down menu displayed whenthe “scene option” menu is selected. The pull-down menu includes, asshown in FIG. 5, a plurality of sub-menu items, such as “ground sizesettings”, “ground color settings”, “grid”, “ground texture settings”,“sky color settings”, and “horizon”.

[0119] The sub-menu item “ground size settings” is used for setting theground size, and the default ground size is set to be, for example, 20m×20 m. If the construction of a town is implemented in thethree-dimensional space in the future, the ground size setting functionwill be important. The sub-menu item “ground color settings” is used forsetting the color or the coloration of the ground, and the initial valueis set to be a monochromatic color. The submenu item “ground texturesettings” is used for designating the pattern/texture pasted on theground.

[0120] The sub-menu item “grid” is used for displaying a grid pattern onthe ground. With this function, a three-dimensional distance can beshown in the three-dimensional space.

[0121] The sub-menu item “sky color settings” is used for specifying thecolor of the sky in the background, and has two-dimensional verticalgradations.

[0122] The sub-menu item “horizon” is used for specifying the height ofthe horizon on the image editing screen. The portion under the horizonis displayed in the color designated by the “ground color settings” menurather than the color of the sky.

[0123] A description is now given of the three-dimensional imagerendering processing implemented on the image editing system 10constructed in accordance with the first embodiment of the presentinvention.

[0124] The overall flow of the rendering processing performed by theimage editing system 10 is indicated by the following procedure (1)through (6).

[0125] (1) A three-dimensional space including only a horizon (see FIG.2) appears.

[0126] (2) A user draws a stroke line (which means a freehand line) inthe three-dimensional space.

[0127] (3) A wall using the stroke line as a base line appears. If thestroke line is a curve, the wall also becomes a curved surface.

[0128] (4) The user then draws a picture on the wall as a canvas. Thepicture is mapped on the wall, resulting in a three-dimensional picture.

[0129] (5) The user draws another wall to set a new canvas, and draws apicture on the wall. By repeatedly drawing pictures on the canvases, theuser is able to construct a desired three-dimensional scene.

[0130] (6) By the rotation of the canvas or the shift of the viewingpoint, a three-dimensional image can be rendered. This can beimplemented by using the corresponding dialog menu as discussed above.

[0131] A description is now given, with reference to FIGS. 18 through23, of an example of the three-dimensional rendering processingperformed by the image editing system 10.

[0132] A stroke line is drawn by dragging the mouse 23 on the ground inthe three-dimensional space including only the horizon (see FIG. 2). Inresponse to this user input operation, a wall using the stroke line as abase line appears, as shown in FIG. 18. If the stroke line is a curve,the wall also becomes a curved surface.

[0133] The wall serves as a canvas, and the user is able to draw apicture on the canvas. That is, the user is able to draw a picture onthe wall by dragging the mouse 23, as shown in FIG. 19. In this case,the type, the thickness, and the color of the pen can be specified byusing, for example, the corresponding dialog menus, as discussed above.Alternatively, the eraser may be selected to erase the drawn line.

[0134] The picture drawn on the wall is directly mapped onto the wall,i.e., the canvas, resulting in a three-dimensional picture. In theexample shown in FIG. 19, a face is drawn.

[0135] As stated above, the user is able to rotate the canvas or to movethe viewing point by using the corresponding dialog menu, as shown inFIG. 20, thereby obtaining a desired three-dimensional scene.

[0136] The canvas can be erased from the screen by using the “canvas”dialog, as discussed above. As a result, only the horizon and thethree-dimensional picture are left on the image editing screen, as shownin FIG. 21.

[0137] After erasing the canvas, the three-dimensional image can berotated or the viewing point can be moved according to the correspondingoperation. FIG. 22 illustrates the three-dimensional image rotatedclockwise around the Z axis, and FIG. 23 illustrates thethree-dimensional image rotated counterclockwise around the Z axis.

[0138] Another example of the three-dimensional image renderingprocessing performed by the image editing system 10 is discussed belowwith reference to FIGS. 24 through 29.

[0139] A stroke line is first drawn by dragging the mouse 23 on theground in the three-dimensional space including only the horizon (notshown). In response to this operation, a wall using the stroke line as abase line appears. The wall serves as a canvas. The user is then able todraw a picture of trees on the canvas, as shown in FIG. 24.

[0140] Another stroke line is drawn in a different place in thethree-dimensional space (for example, a place farther backward than thecanvas shown in FIG. 24) so as to set a wall, i.e., a new canvas. Theuser then draws a picture of trees on the new canvas, as shown in FIG.25. By setting the new canvas, the previous canvas temporarilydisappears from the image editing screen.

[0141] Moreover, another stroke line is drawn in a different place inthe three-dimensional space (for example, a place farther backward thanthe canvases shown in FIGS. 24 and 25) so as to set a wall, i.e., a newcanvas. The user then draws a picture of a house, as shown in FIG. 26.By setting the new canvas, the previous canvas temporarily disappearsfrom the image editing screen.

[0142] Subsequently, by using, for example, the “top view” dialog, theviewing point of the screen is rotated by 90 degrees to enable the userto look down on the ground from the above (see FIG. 27). In this case,the top view of the trees drawn on the first canvas, the trees drawn onthe second canvas, and the house drawn on the third canvas can beobserved on the screen.

[0143] Then, the user draws a stroke line on the ground so as to draw aroad on the ground, as shown in FIG. 28. It is to be understood that apicture can be drawn on the ground by dragging the mouse 23 in a mannersimilar to the pictures drawn on the wall, i.e., on the canvas.

[0144] Then, by using the “top view” dialog, the viewing point isreturned to the original position. As a result, a three-dimensionalimage having a landscape formed of the four trees and the house shown inFIG. 26 and the road created as shown in FIG. 28 can be obtained (seeFIG. 29).

[0145] By setting a wall at a position closer to the horizon, the useris able to draw a picture farther backward. Conventionally, only a roughpicture can be drawn on a backward portion of the canvas. However, theuser is able to go closer to the backward portion by moving the viewingpoint, and thus, a more detailed picture can be drawn.

[0146] Although in the example shown in FIGS. 24 through 29 the wallsare drawn and the pictures are drawn on the walls three times, morewalls and pictures may be drawn. By repeatedly setting canvases anddrawing pictures on the canvases, a more complicated image can be drawn.

[0147]FIG. 30 is a flow chart illustrating the three-dimensional imageediting process implemented by the image editing system 10. This processmay be implemented by executing predetermined program code on a computersystem. The image editing processing is discussed in detail belowaccording to this flow chart.

[0148] The image editing system 10 is started (or the image editingapplication is run on the computer system). Then, in step S1, athree-dimensional screen having only a horizon (see FIG. 2) appears. Instep S2, a stroke line is drawn by dragging the mouse 23.

[0149] It is then determined in step S3 whether a canvas is already seton the screen. If the outcome of step S3 is no, the process proceeds tostep S4 in which the stroke line drawn in step S2 is converted into athree-dimensional image and is set on the ground. Then, in step S5, acanvas having the three-dimensional stroke line as a base line appearson the screen.

[0150] If it is determined in step S3 that a canvas is already set onthe screen, the process proceeds to step S6 in which it is determinedwhether a picture is drawn on the canvas. If the result of step S6 isno, the canvas disappears in step S7. The process then returns to stepS4 in which the stroke drawn in step S2 is converted into athree-dimensional line and is set on the ground. Then, in step S5, acanvas having the three-dimensional stroke line as a base line appearson the screen.

[0151] If it is found in step S6 that a picture is already drawn on thecanvas, the process proceeds to step S8 in which only the picture andthe base line (i.e., an auxiliary line) of the canvas are left on thescreen. Then, in step S4, the stroke line drawn in step S2 is convertedinto a three-dimensional line and is set on the ground. In step S5, acanvas having the three-dimensional stroke as a base line appears on thescreen.

[0152] If, in step S9, the auxiliary line, i.e., the base line of thecanvas, is clicked with the mouse 23, the process proceeds to step S10in which a canvas having the auxiliary line as a base line appears.

[0153] When a canvas appears on the screen, the process enters a drawingmode in which the user is able to draw a picture on the canvas. In therendering mode, the user is able to perform operations, such as“changing the attributes of the pen” (step S11), “drawing lines to forma picture” (step S12), “rotation and translation of the canvas” (stepS15), “moving the viewing point” (step S16), and “reading an image”(step S18).

[0154] The attributes of the pen can be changed on the property window(not shown) opened by, for example, clicking on the right button of themouse 23. Alternatively, by using the dialog “tool” (see FIG. 10), thetype and the thickness of the pen may be changed. The color of the penpoint may also be selected by using the dialog “color palette” (see FIG.11).

[0155] A line can be drawn to form a picture by dragging the mouse 23 onthe currently displayed canvas. If it is found in step S13 that a lineis drawn on the canvas, it is mapped onto the canvas in step S14, and ishandled as three-dimensional graphic data in the subsequent processing.

[0156] The canvas can be rotated or translated by using the dialog“walk” (see FIG. 14). The viewing point can be moved by using the dialog“line of sight” (see FIG. 16). When an instruction is given to rotate ortranslate the canvas or to move the viewing point, the coordinates ofthe viewing point are translated in step S17, and the screen display isupdated.

[0157] It is not essential that the user draw a new picture, in whichcase, for example, an image file stored in a hard disk may be read andedited in step S18. In this case, the size of the read image is adjustedto the canvas in step S19, and the image is mapped onto the canvas instep S20.

[0158] In the first embodiment, the three-dimensional images createdfrom the two-dimensional images are still images. To further develop thefirst embodiment of the present invention, moving pictures are createdfrom three-dimensional images created and edited in thethree-dimensional space according to a second embodiment of the presentinvention.

[0159] The configuration of an image processing system 10 according tothe second embodiment is similar to that of the image editing system 10shown in FIG. 1, and the elements same as those of the image editingsystem 10 are designated with like reference numerals, and anexplanation thereof will thus be omitted. In the second embodiment,however, an image processing application is used instead of the imageediting application used in the first embodiment.

[0160] The three-dimensional image processing performed by the imageprocessing system 10 is as follows. The image processing consists of twoprocesses, i.e., a first process for pasting a two-dimensional imageonto a canvas which is set in a three-dimensional space and for creatinga three-dimensional image, and a second process for adding motion to thecreated three-dimensional image.

[0161] The first process for creating a three-dimensional image from atwo-dimensional image is similar to the three-dimensional image editingprocessing discussed in the first embodiment with reference to FIGS. 18through 23, and an explanation thereof will thus be omitted.

[0162] It is to be understood that an image file stored in a local diskmay be read and pasted on the canvas set in the three-dimensional spaceinstead of pasting a two-dimensional image drawn by dragging the mouse23.

[0163] Details of the three-dimensional image process performed by theimage processing system 10 are similar to those of the three-dimensionalimage editing process discussed with reference to FIG. 30, and anexplanation thereof will thus be omitted.

[0164] In the second embodiment, a plurality of canvases may be set in asingle three-dimensional space, and a two- dimensional image may bepasted onto each canvas. In this case, a three-dimensional scene formedof a plurality of three-dimensional objects can be created.

[0165] The second image process performed by the image processing system10, i.e., the process for providing motion to the three-dimensionalimage created by the first process (image editing operation), isdiscussed below.

[0166] In addition to the base line of the canvas set in the first imageprocess (image editing operation), the user sets a base line of anothercanvas in the three-dimensional space. FIG. 31 illustrates the imageprocessing screen on which base lines, i.e., first and second curves, oftwo canvases are set in the three-dimensional space.

[0167] In this case, a plurality of curves for interpolating the firstand second curves are automatically generated in the image processingsystem 10. FIG. 32 illustrates curves for interpolating the first andsecond curves.

[0168] In the image processing system 10, the base line of the canvas issequentially and constantly shifted from the first curve to the secondcurve via the automatically generated interpolation curves, and thenfrom the second curve to the first curve via the interpolation curves.As a result, the three-dimensional image pasted on the canvas is movedin accordance with the movement of the canvas. Thus, it appears to theuser that the three-dimensional image is animating.

[0169] Concerning the automatic generation of the interpolation curves,a technique indicated in “A Physically Based Approach to 2-D ShapeBlending” by Thomas W. Sederberg (ACM Computer Graphics, 26, 2, July1992) may be employed.

[0170] Regular three-dimensional coordinate translation processing inthe geometric field may be employed for pasting a three-dimensionalimage to each canvas generated in accordance with the movement of thebase line.

[0171] The number of additional base lines set by the user may be morethan two.

[0172] It is not essential that the user set the base line of anothercanvas. Alternatively, another base line may be automatically generatedin the image processing system 10 based on the base line of the canvasset in the first process (image editing operation).

[0173]FIG. 33 illustrates an example of a technique for automaticallygenerating other lines in the image processing system 10 based on thebase line of the canvas set in the first process.

[0174] As shown in FIG. 33, a plurality of control points are set on oneof the curves forming the base line of the canvas. Then, each controlpoint is constantly displaced in the top, down, right, and leftdirections according to random numbers.

[0175] As a result, the base line of the canvas is randomly transformedbased on the first curve. Then, the three-dimensional image pasted onthe canvas is moved in accordance with the movement of the canvas. Thus,it appears to the user that the three-dimensional image is vibrating.

[0176]FIG. 34 is a flow chart illustrating the second process of thethree-dimensional image processing performed by the image processingsystem 10 according to the second embodiment of the present invention.

[0177] According to this processing, a three-dimensional image can begenerated by pasting a two-dimensional image on the canvas which is setin the three-dimensional space, and also animation can be provided tothe generated three-dimensional image. Details of the image processingare given below with reference to the flow chart of FIG. 34.

[0178] In step S31, a curve is drawn on the ground by, for example,dragging a mouse cursor on the screen of the display device 21. Thecurve is other than the base line of the canvas which is set in theimage editing operation, and is equivalent to the above-described“second curve”.

[0179] Then, in step S32, a plurality of curves, which are moving toconnect (interpolate) the curve forming the base line of the canvas andthe curve input in step S31, are generated. As stated above, concerningthe generation of the interpolation curves, a technique indicated in “APhysically Based Approach to 2-D Shape Blending” by Thomas W. Sederberg(ACM Computer Graphics, 26, 2, July 1992) may be employed.

[0180] On the time axis, each interpolation curve forms the base line ofthe canvas at the corresponding time. As a result, in step S33, a canvaswhich is constantly moving in accordance with the movement of theinterpolation curves can be generated.

[0181] Then, in step S34, a three-dimensional image is drawn on thecanvas generated as described above. Thus, it appears to the user thatthe three-dimensional image is animating.

[0182] The second curve is input by the user, as described above.Alternatively, in step S35, the second curve may be automaticallycreated based on the base line of the canvas which is set during theimage editing operation.

[0183]FIG. 35 is a flow chart illustrating details of step S35 of FIG.34 for automatically generating the second curve.

[0184] In step S41, a plurality of control points are set on one of thecurves forming the base line of the canvas.

[0185] Then, in step S42, each control point is constantly displaced inthe top, down, right, and left directions according to random numbers.

[0186] As a result, in step S43, another curve different from the firstcurve can be generated according to the displacements of the controlpoints.

[0187] The curve generated in step S43 becomes the base line of thecanvas and is randomly changed based on the first curve (see FIG. 33).Since the three-dimensional image pasted on the canvas is movedaccording to the movement of the canvas, it appears to the user that thethree-dimensional image is vibrating.

[0188] As discussed above, by moving the three-dimensional image, athree-dimensional sketch becomes realistic-looking. According to thistechnique, opening and shutting a door or fluttering of a flag can beexpressed.

[0189] According to the above-described image processing method, ananimated three-dimensional world can easily be constructed by using onlyone picture and a plurality of curves without imposing excessive burdenon the user, i.e., the creator of the three-dimensional image.

[0190] While the present invention has been described with reference towhat are presently considered to be the preferred embodiments, it is tobe understood that the invention is not limited to the disclosedembodiments. On the contrary, the invention is intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims. The scope of the following claims is to beaccorded the broadest interpretation so as to encompass all suchmodifications and equivalent structures and functions.

What is claimed is:
 1. An image editing system for creating and editinga three-dimensional image, comprising: canvas setting means for settinga canvas in a three-dimensional space; image input means for inputtingan image into the set canvas and for pasting the image onto the canvas;and image modifying means for modifying the input image according to anoperation performed on the canvas by a user.
 2. An image editing systemaccording to claim 1, wherein said canvas setting means sets as thecanvas a wall whose base line is formed by a stroke line which is drawnby dragging a mouse by the user in the three-dimensional space includingonly a horizon.
 3. An image editing system according to claim 1, whereinsaid image input means inputs as the image a stroke line drawn bydragging a mouse on the set canvas by the user, and pastes the strokeline onto the canvas.
 4. An image editing system according to claim 1,wherein said image input means reads an image file stored in apredetermined storage device, and pastes the image onto the set canvas.5. An image editing system according to claim 1, wherein said imagemodifying means rotates or translates the image pasted on the canvas inaccordance with a rotation operation or a translation operationperformed on the canvas.
 6. An image editing system according to claim1, wherein said canvas setting means sets a plurality of canvases in asingle three-dimensional space, and said image input means inputs animage into each of the set canvases.
 7. An image editing systemaccording to claim 1, wherein said image input means inputs the imagenot only into the canvas, but also into a ground.
 8. An image editingsystem according to claim 1, wherein, when a new canvas is to be drawn,said canvas setting means does not display a canvas which has alreadybeen drawn except a base line of said canvas.
 9. An image editing methodfor creating and editing a three-dimensional image, comprising: a canvassetting step of setting a canvas in a three-dimensional space; an imageinput step of inputting an image into the set canvas and pasting theimage onto the canvas; and an image modifying step of modifying theinput image in accordance with an operation performed on the canvas by auser.
 10. An image editing method according to claim 9, wherein saidcanvas setting step sets as the canvas a wall whose base line is formedby a stroke line which is drawn by dragging a mouse by the user in thethree-dimensional space including only a horizon.
 11. An image editingmethod according to claim 9, wherein said image input step inputs as theimage a stroke line drawn by dragging a mouse on the set canvas by theuser, and pastes the stroke line onto the canvas.
 12. An image editingmethod according to claim 9, wherein said image input step reads animage file stored in a predetermined storage device, and pastes theimage onto the canvas.
 13. An image editing method according to claim 9,wherein said image modifying step rotates or translates the image pastedon the canvas in accordance with a rotation operation or a translationoperation performed on the canvas.
 14. An image editing method accordingto claim 9, wherein said canvas setting step sets a plurality ofcanvases in a single three-dimensional space, and said image input stepinputs an image into each of the set canvases.
 15. An image editingmethod according to claim 9, wherein said image input step inputs theimage not only into the canvas, but also into a ground.
 16. An imageediting method according to claim 9, wherein, when a new canvas is to bedrawn, said canvas setting means does not display a canvas which hasalready been drawn except a base line of said canvas.
 17. A storagemedium for physically storing computer-readable software which allows acomputer system to execute image editing processing for creating andediting a three-dimensional image, said computer-readable softwarecomprising: a canvas setting step of setting a canvas in athree-dimensional space; an image input step of inputting an image intothe set canvas and pasting the image onto the canvas; and an imagemodifying step of modifying the input image in accordance with anperformed on the canvas by a user.
 18. An image processing system forprocessing a three-dimensional image, comprising: image input means forinputting a two-dimensional image; first-curve setting means for settinga first curve, which serves as a base line of a canvas, in athree-dimensional space; second-curve setting means for setting a secondcurve, which is different from the first curve, in the three-dimensionalspace; interpolation-curve generating means for generating at least oneinterpolation curve for interpolating the first curve and the secondcurve; and image generating means for creating the three-dimensionalimage by pasting the image input by said image input means onto thecanvas whose base line is one of the first curve, the second curve, andthe interpolation curve.
 19. An image processing system according toclaim 18, wherein at least one of said first-curve setting means andsaid second-curve setting means sets as the first or second curve astroke line drawn by dragging a mouse by a user in the three-dimensionalspace including only a horizon.
 20. An image processing system accordingto claim 18, wherein said image generating means constantly moves thebase line of the canvas to which the input image is to be pasted betweenthe first curve, the second curve, and the interpolation curve.
 21. Animage processing system according to claim 18, wherein said image inputmeans inputs as the image a stroke line drawn by dragging a mouse ontothe canvas by a user.
 22. An image processing system according to claim18, wherein said image input means inputs the two-dimensional image froman image file read from a predetermined storage device.
 23. An imageprocessing system for processing a three-dimensional image, comprising:image input means for inputting a two-dimensional image; first-curvesetting means for setting a first curve, which serves as a base line ofa canvas, in a three-dimensional space; interpolation-curve generatingmeans for generating at least one interpolation curve based on the firstcurve; and image generating means for creating the three-dimensionalimage by pasting the image input by said image input means onto thecanvas whose base line is one of the first curve and the interpolationcurve.
 24. An image processing system according to claim 23, whereinsaid interpolation-curve generating means generates the interpolationcurve by setting a plurality of control points on the first curve and bydisplacing the control points by using random numbers.
 25. An imageprocessing system according to claim 23, wherein saidinterpolation-curve generating means generates the interpolation curveby setting a plurality of control points on the first curve and byconstantly displacing the control points by using random numbers.
 26. Animage processing system according to claim 23, wherein said imagegenerating means constantly moves the base line of the canvas to whichthe input image is to be pasted between the first curve and theinterpolation curve.
 27. An image processing system according to claim23, wherein said image input means inputs as the image a stroke linedrawn by dragging a mouse onto the set canvas by a user.
 28. An imageprocessing system according to claim 23, wherein said image input meansinputs the two-dimensional image from an image file read from apredetermined storage device.
 29. An image processing method forprocessing a three-dimensional image, comprising: an image input step ofinputting a two-dimensional image; a first-curve setting step of settinga first curve, which serves as a base line of a canvas, in athree-dimensional space; a second-curve setting step of setting a secondcurve, which is different from the first curve, in the three-dimensionalspace; an interpolation-curve generating step of generating at least oneinterpolation curve for interpolating the first curve and the secondcurve; and an image generating step of creating the three-dimensionalimage by pasting the image input in said image input step onto thecanvas whose base line is one of the first curve, the second curve, andthe interpolation curve.
 30. An image processing method according toclaim 29, wherein at least one of said first-curve setting step and saidsecond-curve setting step sets as the first or second curve a strokeline drawn by dragging a mouse by a user in the three-dimensional spaceincluding only a horizon.
 31. An image processing method according toclaim 29, wherein said image generating step constantly moves the baseline of the canvas to which the input image is to be pasted between thefirst curve, the second curve, and the interpolation curve.
 32. An imageprocessing method according to claim 29, wherein said image input stepinputs as the image a stroke line drawn by dragging a mouse onto the setcanvas by a user.
 33. An image processing method according to claim 29,wherein said image input step inputs the two-dimensional image from animage file read from a predetermined storage device.
 34. An imageprocessing method for processing a three-dimensional image, comprising:an image input step of inputting a two-dimensional image; a first-curvesetting step of setting a first curve, which serves as a base line of acanvas, in a three-dimensional space; an interpolation-curve generatingstep of generating at least one interpolation curve based on the firstcurve; and an image generating step of creating the three-dimensionalimage by pasting the image input in said image input step onto thecanvas whose base line is one of the first curve and the interpolationcurve.
 35. An image processing method according to claim 34, whereinsaid interpolation-curve generating step generates the interpolationcurve by setting a plurality of control points on the first curve and bydisplacing the control points by using random numbers.
 36. An imageprocessing method according to claim 34, wherein saidinterpolation-curve generating step generates the interpolation curve bysetting a plurality of control points on the first curve and byconstantly displacing the control points by using random numbers.
 37. Animage processing method according to claim 34, wherein said imagegenerating step constantly moves the base line of the canvas to whichthe input image is to be pasted between the first curve and theinterpolation curve.
 38. An image processing method according to claim34, wherein said image input step inputs as the image a stroke linedrawn by dragging a mouse onto the set canvas by a user.
 39. An imageprocessing method according to claim 34, wherein said image input stepinputs the two-dimensional image from an image file read from apredetermined storage device.
 40. A storage medium for physicallystoring computer-readable software which allows a computer system toexecute three-dimensional image processing, said computer-readablesoftware comprising: an image input step of inputting a two-dimensionalimage; a first-curve setting step of setting a first curve, which servesas a base line of a canvas, in a three-dimensional space; a second-curvesetting step of setting a second curve, which is different from thefirst curve, in the three-dimensional space; an interpolation-curvegenerating step of generating at least one interpolation curve forinterpolating the first curve and the second curve; and an imagegenerating step of creating the three-dimensional image by pasting theimage input in said image input step onto the canvas whose base line isone of the first curve, the second curve, and the interpolation curve.41. A storage medium for physically storing computer-readable softwarewhich allows a computer system to execute three-dimensional imageprocessing, said computer-readable software comprising: an image inputstep of inputting a two-dimensional image; a first-curve setting step ofsetting a first curve, which serves as a base line of a canvas, in athree-dimensional space; an interpolation-curve generating step ofgenerating at least one interpolation curve based on the first curve;and an image generating step of creating the three-dimensional image bypasting the image input in said image input step onto the canvas whosebase line is one of the first curve and the interpolation curve as thebase line.